package com.ruoyi.security.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.system.api.domain.SysFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * 设备年检记录对象 omp_af_check_log
 *
 * @author cjie
 * @date 2022-06-20
 */
@Data
@ApiModel
public class AfCheckLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @ApiModelProperty(value = "编号")
    private String id;

    /** 设备类型 */
    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    private String deviceType;

    /** 设备id */
    @Excel(name = "设备id")
    @ApiModelProperty(value = "设备id")
    @NotBlank
    private String deviceId;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @ApiModelProperty(value = "设备编号")
    private String deviceNum;

    /** 设备位置 */
    @Excel(name = "设备位置")
    @ApiModelProperty(value = "设备位置")
    private String station;

    /** 年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "年检日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "年检日期")
    private Date checkDate;

    /** 检查结果 */
    @Excel(name = "检查结果")
    @ApiModelProperty(value = "检查结果")
    private String result;

    /** 下次年检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次年检日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "下次年检日期")
    private Date nextCheckDate;

    /** 检查员 */
    @Excel(name = "检查员")
    @ApiModelProperty(value = "检查员")
    private String checker;

    /** 创建人 */
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /** 更新人 */
    @ApiModelProperty(value = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    /** 附件id集合 */
    @Excel(name = "附件id集合")
    @ApiModelProperty(value = "附件id集合")
    private List<Long> fileIdList;

    /** 附件集合 */
    @Excel(name = "附件集合")
    @ApiModelProperty(value = "附件集合")
    private List<SysFile> fileList;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    @ApiModelProperty(value = "单位编号")
    private String dwCode;

    /** 模块类型 */
    @Excel(name = "模块类型")
    @ApiModelProperty(value = "模块类型")
    @NotBlank
    private String moduleType;

    @ApiModelProperty(value = "备注")
    private String remark;
}
